package com.sc.nft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.EcologyHatchDaoIncomeConf;
import com.sc.nft.entity.vo.AdminShareProfitCollectPointsVO;
import com.sc.nft.entity.vo.ecology.AdminDaoEcologyIncomePageVO;
import com.sc.nft.entity.vo.ecology.AdminShareProfitCollectDetailsVO;
import com.sc.nft.entity.vo.ecology.AdminShareProfitCollectVO;

import java.util.Date;

public interface AdminEcologyDaoIncomeConfService {

    /**
     * DAO收益列表
     * @param daoName
     * @param dividendIncomeName
     * @param status
     * @param pageNo
     * @param pageSize
     * @return
     */
    Page<AdminDaoEcologyIncomePageVO> page(String daoName, String dividendIncomeName, Boolean status, Integer pageNo, Integer pageSize);

    /**
     * 新增收益配置
     * @param ecologyHatchDaoIncomeConf
     */
    void addConf(EcologyHatchDaoIncomeConf ecologyHatchDaoIncomeConf);

    /**
     * 修改收益配置
     * @param ecologyHatchDaoIncomeConf
     */
    void updateConf(EcologyHatchDaoIncomeConf ecologyHatchDaoIncomeConf);

    /**
     * 分润汇总数据
     * @param collectionId
     * @return
     */
    AdminShareProfitCollectVO shareProfitCollect(Long collectionId);

    /**
     * 分润汇总明细
     * @param userTel
     * @param startTime
     * @param endTime
     * @param pageNo
     * @param pageSize
     * @return
     */
    Page<AdminShareProfitCollectDetailsVO> shareProfitCollectDetails(Long collectionId,String userTel, Date startTime, Date endTime, Integer pageNo, Integer pageSize);

    /**
     * 修改上下架
     * @param id
     * @param status
     */
    void updateStatus(Long id, Boolean status);

    /**
     * 删除dao收益配置
     * @param id
     */
    void deleteConf(Long id);

    AdminShareProfitCollectPointsVO shareProfitCollectPoints(Long collectionId);
}
